extends Node

var script_url="res://assets/json_db/item_db.json"
var WorkPath="res://assets/"

#加载存放全物品信息的JSON文件 返回一个键值对
func LoadData(url):
	#var file=File.new()
	if url==null:
		print("url==null")
		return null
	if  !FileAccess.file_exists(url):
		print("file does not exist")
		return null
	var file=FileAccess.open(url,FileAccess.READ)
	var data={}
	data=JSON.parse_string(file.get_as_text())
	file.close()
	return data

#传入物品名字符串 返回这个物品的键值对 并且为其添加name键值对
func GetItemByID(ItemName:String):
	var itemData={}
	itemData = LoadData(script_url)
	if itemData==null:
		print("Item "+ItemName+" dose not exists")
		return null
	itemData[ItemName]["name"]=ItemName
	return itemData[ItemName]

#传入物品键值对 返回其材质
func SmartTextureLoad(Item):
	#本函数将键值对中的texture替换成材质，如果已经是材质，则无需替换
	if Item["texture"] is Texture:
		return Item["texture"]
	else:
		Item["texture"]=load(WorkPath+Item["texture"])
		return Item["texture"]
